package com.whfc.ms.api.sys.service;

import com.whfc.common.enums.AppType;
import com.whfc.common.weixin.bean.OAuthAccessToken;
import com.whfc.common.weixin.bean.OAuthUserInfo;

/**
 * @Description:
 * @author: xugcheng
 * @version: 1.0
 * @date: 2019/11/8 9:17
 */
public interface WxOAuthApiService {

    /**
     * 获取accessToken
     *
     * @param appType
     * @param code
     * @return
     */
    OAuthAccessToken getAccessToken(AppType appType, String code);

    /**
     * 刷新accessToken
     *
     * @param appType
     * @return
     */
    OAuthAccessToken refreshAccessToken(AppType appType);

    /**
     * 验证accessToken
     *
     * @param appType
     * @param openId
     * @return
     */
    boolean auth(AppType appType, String openId);

    /**
     * 获取用户信息
     *
     * @param appType
     * @param openId
     * @return
     */
    OAuthUserInfo getUserInfo(AppType appType, String openId);

    /**
     * 通过code获取人员信息
     *
     * @param appType
     * @param code
     * @return
     */
    OAuthUserInfo getUserInfoByCode(AppType appType, String code);
}
